/*
 * @Date         2022-03-23 22:51:13
 * @LastEditors  Tennikl
 * @LastEditTime 2022-07-13 18:27:07
 * @FilePath     \D_SJK_2022\D_SJK_2022\USER\CODE\Balance\Balance.h
 */
/*
 * @File:
 * @Author: sjk
 * @Date: 2022-02-07 22:13:24
 * @LastEditTime 2022-04-16 20:13:30
 * @Brief:         控制：直立、速度、方向环
 * @Note:
 */

#ifndef __BALANCE_H
#define __BALANCE_H

extern int Motor_test_pwm;
extern int pwm_up;
extern int pwm_dir;
extern int target_angle; // 平衡角度
extern int target_speed; // 目标速度
extern int speed_now;
extern int Gyro_setoff[3];
void upright_pre(void);
void upright(void);

extern pid_param_t Gyro_loop;  //角速度环 ——直立内环 ——位置式      5ms
extern pid_param_t Angle_loop;  //角度环   ——直立外环 ——位置式     10ms
extern pid_param_t Speed_loop;  //速度环             ——增量式      20ms
void Balance_init(); //直立初始化
void Balance_IRQ();  //直立初始化
void gyrosetoff(void);

#endif